package com.weijian.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.weijian.dal.entity.Route;
import com.weijian.dal.enums.RouteType;
import com.weijian.dto.data.RouteUtilizationStats;
import java.util.List;
import java.util.Map;

/**
 * 路线服务接口
 */
public interface RouteService extends IService<Route> {
    
    /**
     * 根据路线类型查询路线
     * 
     * @param routeType 路线类型
     * @return 路线列表
     */
    List<Route> getRoutesByType(RouteType routeType);
    
    /**
     * 根据ID查询路线，如果不存在则返回null
     * 
     * @param id 路线ID
     * @return 路线信息
     */
    Route getRouteById(Integer id);
    
    /**
     * 根据dataId查询路线
     * 
     * @param dataId 数据ID
     * @return 路线列表
     */
    List<Route> getRoutesByDataId(Integer dataId);
    
    /**
     * 统计各类路线的利用率
     *
     * @param dataId 数据ID
     * @return 各类路线利用率统计列表
     */
    List<RouteUtilizationStats> getRouteUtilizationStatsByDataId(Integer dataId);
}